Build an Item Catalog Application

API Endpoints

Criteria Meet Specification

Does the project implement a JSON endpoint with all required content?

The project implements a JSON endpoint that serves the same information as displayed in the HTML endpoints for an arbitrary item in the catalog.

CRUD: Read

Criteria Meet Specification

Does the website read category and item information from a database?

Website reads category and item information from a database.

CRUD: Create

Criteria Meet Specification

Does the website include a form allowing users to add new items and correctly processes these forms?

Website includes a form allowing users to add new items and correctly processes submitted forms.

CRUD: Update

Criteria Meet Specification

Does the website include a form to update a record in the database and correctly processes this form?

Website does include a form to edit/update a current record in the database table and correctly processes submitted forms.

CRUD: Delete

Criteria Meet Specification

Does the website include a way to delete an item from the catalog?

Website does include a function to delete a current record.

Authentication & Authorization

Criteria Meet Specification

Do create, delete, and update operations consider authorization status prior to execution?

Create, delete and update operations do consider authorization status prior to execution.

Does the website implement a third party authentication and authorization service?

Page implements a third-party authentication & authorization service (like Google Accounts or Mozilla Persona) instead of implementing its own authentication & authorization spec.

Is there a “login” and “logout” button/link in the website?

Make sure there is a 'Login' and 'Logout' button/link in the project. The aesthetics of this button/link is up to the discretion of the student.

Code Quality

Criteria Meet Specification

Is the code ready for personal review and is neatly formatted?

Code is ready for personal review and neatly formatted and compliant with the Python PEP 8 style guide.

Comments

Criteria Meet Specification

Are comments present and effectively explain longer code procedures?

Comments are present and effectively explain longer code procedures.

Documentation

Criteria Meet Specification

Is there a README file included detailing all steps required to successfully run the application?

README file includes details of all the steps required to successfully run the application.

Tips to make your project standout:

  • Add CRUD functionality for image handling.
  • Implement CSRF protection on your CRUD operations.